home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 1: Comms & Networking / Almathera Ten on Ten - Disc 1: Comms & Networking.iso / tools / archie / archie-1.4 / archie.h < prev    next >
C/C++ Source or Header  |  1995-05-01  |  3KB  |  73 lines

  1. /*
  2.  * archie.h : Definitions for the programmatic Prospero interface to Archie
  3.  *
  4.  *     Written by Brendan Kehoe (brendan@cygnus.com),
  5.  *                George Ferguson (ferguson@cs.rochester.edu), and
  6.  *                Clifford Neuman (bcn@isi.edu).
  7.  */
  8.  
  9. /* You can't touch this.  */ /* Oh yeah! */
  10. #ifndef XARCHIE
  11. # define ARCHIES "archie.au (Australia)","archie.edvz.uni-linz.ac.at (Austria)","archie.univie.ac.at (Austria)","archie.cs.mcgill.ca (Canada)","archie.uqam.ca (Canada)","archie.funet.fi (Finland)","archie.univ-rennes1.fr (France)","archie.th-darmstadt.de (Germany)","archie.ac.il (Israel)","archie.unipi.it (Italy)","archie.wide.ad.jp (Japan)","archie.hana.nm.kr (Korea)","archie.sogang.ac.kr (Korea)","archie.uninett.no (Norway)","archie.rediris.es (Spain)","archie.luth.se (Sweden)","archie.switch.ch (Switzerland)","archie.nctuccca.edu.tw (Taiwan)","archie.ncu.edu.tw (Taiwan)","archie.doc.ic.ac.uk (United Kingdom)","archie.hensa.ac.uk (United Kingdom)","archie.unl.edu (USA [NE])","archie.internic.net (USA [NJ])","archie.rutgers.edu (USA [NJ])","archie.ans.net (USA [NY])","archie.sura.net (USA [MD])"
  12. #define NARCHIES 26
  13. # define OLDARCHIES    "archie.ans.net (USA [NY])","archie.rutgers.edu (USA [NJ])","archie.sura.net (USA [MD])","archie.unl.edu (USA [NE])","archie.mcgill.ca (Canada)","archie.funet.fi (Finland/Mainland Europe)","archie.au (Australia)","archie.doc.ic.ac.uk (Great Britain/Ireland)","archie.wide.ad.jp (Japan)","archie.ncu.edu.tw (Taiwan)"
  14. # define OLDNARCHIES    10
  15. #endif
  16.  
  17. /*
  18.  * Default value for max hits.  Note that this is normally different
  19.  * for different client implementations.  Doing so makes it easier to
  20.  * collect statistics on the use of the various clients.
  21.  */
  22. #ifdef VMS
  23. # define    MAX_HITS    98    /* VMS Client */
  24. #else
  25. # ifdef XARCHIE
  26. #  define    MAX_HITS    99    /* X Client */
  27. # else
  28. #  define    MAX_HITS    95    /* Normal client */
  29. # endif
  30. #endif
  31.  
  32. /*
  33.  * CLIENT_VERSION may be used to identify the version of the client if 
  34.  * distributed separately from the Prospero distribution.  The version
  35.  * command should then identify both the client version and the Prospero
  36.  * version identifiers.   
  37.  */
  38. #ifdef XARCHIE
  39. # define CLIENT_VERSION    "1.3-X"
  40. #else
  41. # define CLIENT_VERSION "1.4"
  42. #endif
  43.  
  44. /* The different kinds of queries we can make.  */
  45. typedef enum query_type
  46. {
  47.   NONE = '\0', EXACT = '=', REGEXP = 'R',
  48.   SUBSTRING = 'S', SUBSTRING_CASE = 'C'
  49. } Query;
  50.  
  51. /* Procedures from user/aquery.c */
  52. extern VLINK archie_query (); 
  53.  
  54. /* defcmplink(p,q) and invdatecmplink(p,q)                             */
  55. extern int defcmplink(VLINK p, VLINK q);    /* Compare by host then by filename    */
  56. extern int invdatecmplink(VLINK p, VLINK q);    /* Compare links inverted by date      */
  57.  
  58.  
  59. /* Definitions for the comparison procedures                           */
  60. #define AQ_DEFCMP    defcmplink
  61. #define AQ_INVDATECMP    invdatecmplink
  62.  
  63. /* Flags                                                               */
  64. #define AQ_NOSORT    0x01    /* Don't sort                          */
  65. #define AQ_NOTRANS    0x02    /* Don't translate Archie responses    */
  66.  
  67. /* To keep the code clean (hah!). */
  68. #ifdef VMS
  69. # define ERROR_EXIT    SS$_NORMAL
  70. #else
  71. # define ERROR_EXIT    1
  72. #endif
  73.